778A - String Game - CodeForces Solution


binary search greedy strings *1700

Please click on ads to support us..

Python Code:

s = [i for i in input()]
t = [i for i in input()]
n = len(s)
m = len(t)
arr = [int(x) for x in input().split()]
def helper(mid):
    temp = s.copy()
        i,j = 0,0
    for k in range(mid):
                temp[arr[k]-1] = '0'
                while(i<n or j< m):
        if i== n or j== m:
            break
        if temp[i] == t[j]:
            i += 1
            j +=1
        else:
            i += 1
    if j == m:
        return True
    return False    
l,r= 0,n-1
ans = 0
while(l<= r):
    mid = (l+r)//2
    if helper(mid):
        ans = max(ans, mid)
        l = mid +1
    else:
        r = mid-1
print(ans)            







Comments

Submit
0 Comments
More Questions

129A - Cookies
1367B - Even Array
136A - Presents
1450A - Avoid Trygub
327A - Flipping Game
411A - Password Check
1520C - Not Adjacent Matrix
1538B - Friends and Candies
580A - Kefa and First Steps
1038B - Non-Coprime Partition
43A - Football
50A - Domino piling
479A - Expression
1480A - Yet Another String Game
1216C - White Sheet
1648A - Weird Sum
427A - Police Recruits
535A - Tavas and Nafas
581A - Vasya the Hipster
1537B - Bad Boy
1406B - Maximum Product
507B - Amr and Pins
379A - New Year Candles
1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem